<?php
require("view_header.php");
//1. 超级管理员
$isAllowAccess = isset($_SESSION['administrator']);
// 2. 题目创建人员
$isAllowAccess |= isset($_SESSION['problem_editor']);

if (!$isAllowAccess ){
    echo "<a href='../loginpage.php'>Please Login First!</a>";
    exit(1);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf8">
    <title> 题目导入 </title>
</head>
<body>
<div class="container col-sm-8 panel panel-default" style="margin-left: 20px; margin-top: 20px;" id="problem_import">
    <div class="col-sm-12">
        <center>
            <h4>
                请按如下规则编写包含题目信息的xml
                <button class="btn btn-link" @click="switch_tpl()" >{{tpl_tips}}</button>
            </h4>
        </center>
    </div>
    <div class="col-sm-12">
       <pre v-show="isshow_tpl">&lt;!--题目导入xml模板--&gt;
&lt;problem_list&gt;
&lt;problem&gt;
&lt;title&gt;请在这里添加题目标题&lt;/title&gt;
&lt;desc&gt;&lt;![CDATA[
请在这里添加题目描述............
]]&gt;&lt;/desc&gt;

&lt;input&gt;&lt;![CDATA[
请在这里添加输入描述............
]]&gt;&lt;/input&gt;

&lt;output&gt;&lt;![CDATA[
请在这里添加输出描述............
]]&gt;&lt;/output&gt;

&lt;samplein&gt;
请在这里添加样例输入............
&lt;/samplein&gt;

&lt;sampleout&gt;
请在这里添加样例输出............
&lt;/sampleout&gt;

&lt;level&gt;1&lt;/level&gt;&lt;!--难度等级整数 1 - 5 --&gt;
&lt;category&gt;程序设计基础(函数)&lt;/category&gt;&lt;!--题目类别--&gt;
&lt;source&gt;&lt;/source&gt;&lt;!--题目来源--&gt;
&lt;hint&gt;&lt;![CDATA[
请在这里添加题目提示............
]]&gt;&lt;/hint&gt;&lt;!--提示--&gt;
&lt;/problem&gt;
&lt;/problem_list&gt;</pre>
    </div>
    <textarea v-model="problem_xml" class="form-control col-sm-12" style="min-height: 45rem;"></textarea>
    <div class="col-sm-12" style="margin-top: 0.5rem; padding-bottom: 0.5rem;">
        <div class="col-sm-8"></div>
        <div class="col-sm-2">
            <input class="btn btn-primary form-control" type="button" @click="import_problem()" value="提交"/>
        </div>
    </div>
</div>
<script>
    var app = new Vue({
        el: "#problem_import",
        data:{
            isshow_tpl:false,
            tpl_tips:"查看模板",
            problem_xml:""
        },

        created:function () {
        },

        methods:{
            switch_tpl() {
                this.isshow_tpl = !this.isshow_tpl
                if ( this.isshow_tpl ) {
                    this.tpl_tips = "收起"
                }
                else {
                    this.tpl_tips = "查看模板"
                }
            },

            import_problem() {
                // 去除末尾多余的换行符
                this.problem_xml = this.problem_xml.replace(/^\s+|\s+$/g,'')
                // 1. 将字符串转换称UTF8数组，并进行base64加密
                let base64Str = Base64New.encode64(this.problem_xml)
                // 2. 为防止传参过程中,base64Str在的url字符并编码，因此需要将URL字符编码
                let param = "para="+JSON.stringify({op:"import", xml:encodeURIComponent(base64Str)})
                new Promise( (resolve, reject)=>{
                    $.ajax({
                        type:'POST',
                        url:"../model/problem_router.php",
                        data:param,
                        dataType:'json',
                        success:(retData)=> {
                            retData.status ? resolve(retData.dat) : reject(retData.msg);
                        },
                        error:()=>{
                            reject('接口无法访问')
                        }
                    })
                }).then( (dat)=>{
                    window.location.href="problem_import_success.php?pids="+JSON.stringify(dat)
                }).catch((msg)=>{
                    alert('导入题目失败: '+msg)
                })
            }
        }
    });
</script>
</body>
</html>